﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AccesoDatos;
using Modelo.Modulos.ClasesModelado;

namespace Logica
{
   public class ClientesLog:Negocio
    {
        public void Insertar(ClientesMod  obj)
        {
            try
            {
                this.IniciarTransaccion();

                ClientesBD objBD = new ClientesBD();

                objBD.Insertar(this.comando, obj);

                this.ConfirmarTransaccion();
            }
            catch (Exception exc)
            {
                this.DeshacerTransaccion();
                throw exc;
            }
        }


        public List<ClientesMod> ConsultarPersonas()
        {
            try
            {
                this.AbrirConexion();

                ClientesBD objBD = new ClientesBD();

                List<ClientesMod> lista = objBD.Consultar(this.comando);

                this.CerrarConexion();

                return lista;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }
        }

        public void Eliminar(ClientesMod obj)
        {
            try
            {
                this.IniciarTransaccion();

                ClientesBD objBD = new ClientesBD();

                objBD.Eliminar(this.comando, obj);

                this.ConfirmarTransaccion();
            }
            catch (Exception exc)
            {
                this.DeshacerTransaccion();
                throw exc;
            }
        }


        public List<ClientesMod> Consultar()
        {
            try
            {
                this.AbrirConexion();

                ClientesBD objBD = new ClientesBD();

                List<ClientesMod> lista = objBD.Consultar(this.comando);

                this.CerrarConexion();

                return lista;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }
        }

        public List<ClientesMod> ConsultarClienteId(ClientesMod objs)
        {
            try
            {
                this.AbrirConexion();

                ClientesBD objBD = new ClientesBD();

                List<ClientesMod> lista = objBD.ConsultarClienteID (this.comando,objs);

                this.CerrarConexion();

                return lista;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }
        }

        public void ActualizarCliente(ClientesMod obj)
        {
            try
            {
                this.IniciarTransaccion();

                ClientesBD objBD = new ClientesBD();

                objBD.ActualizarCliente(this.comando, obj);

                this.ConfirmarTransaccion();
            }
            catch (Exception exc)
            {
                this.DeshacerTransaccion();
                throw exc;
            }
        }
    }
}
